package com.bstek.demo.service;

import java.util.Collection;

import com.bstek.demo.entity.User;
import com.bstek.demo.entity.UserMessage;
import com.bstek.dorado.data.provider.Criteria;
import com.bstek.dorado.data.provider.Page;

/**
 * 用户Service层接口
 * @author lemon
 *
 */
public interface UserService {
	
	/**
	 * 获取用户信息 分页 筛选 自定义查询
	 * @author lemon
	 * @param page 封装的分页参数
	 * @param criteria 过滤信息
	 * @param user 封装的自定义查询信息
	 */
	void getAll(Page<User> page,Criteria criteria,User user);
	/**
	 * 持久化User方法
	 * @author lemon
	 * @param users 需要持久化的User信息
	 */
	void saveAll(Collection<User> users);
	/**
	 * 验证登陆信息是否存在֤
	 * @author lemon
	 * @param user 封装登陆信息的对象
	 * @return 返回结果boolean值ֵ
	 */
	boolean isValue(User user);
	/**
	 * 根据用户名获取用户信息
	 * @author lemon
	 * @param username 用户名
	 * @return 返回封装的用户信息
	 */
	User getMyInfo(String username);
	/**
	 * 持久化用户明细信息
	 * @author lemon
	 * @param user 需要持久化的明细信息集合
	 */
	void saveMessages(Collection<User> user);
	/**
	 * 分页获取所有的明细信息
	 * @author lemon
	 * @param page 分页参数
	 */
	void getAllMessage(Page<User> page);
	void getAllMessage2(Page<User> page);
	/**
	 * 根据用户名获取用户明细信息
	 * @author lemon
	 * @param username
	 * @return 返回用户明细信息集合
	 */
	
	Collection<UserMessage> getUserMessageByUsername(String username);
}
